{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "# 设置字体为支持中文的字体，例如 SimHei（黑体）\n",
    "plt.rcParams['font.family'] = 'SimHei'\n",
    "# 解决负号显示为方块的问题\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "# 定义 PID 控制器\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "# 定义PID控制器类\n",
    "class PIDController:\n",
    "    def __init__(self, Kp, Ki, Kd, dt):\n",
    "        self.Kp = Kp  # 比例增益\n",
    "        self.Ki = Ki  # 积分增益\n",
    "        self.Kd = Kd  # 微分增益\n",
    "        self.dt = dt  # 时间步长\n",
    "        self.prev_error = 0\n",
    "        self.integral = 0\n",
    "\n",
    "    def update(self, setpoint, measurement):\n",
    "        error = setpoint - measurement\n",
    "        self.integral += error * self.dt\n",
    "        derivative = (error - self.prev_error) / self.dt\n",
    "        output = self.Kp * error + self.Ki * self.integral + self.Kd * derivative\n",
    "        self.prev_error = error\n",
    "        return output\n",
    "\n",
    "# 定义前馈神经网络类\n",
    "class SimpleNN:\n",
    "    def __init__(self, input_size, hidden_size, output_size, learning_rate=0.01):   # 输入层 隐藏层 输出层 学习率\n",
    "        self.weights1 = np.random.randn(input_size, hidden_size) * learning_rate    # 权重初始化\n",
    "        self.weights2 = np.random.randn(hidden_size, output_size) * learning_rate   # 权重初始化\n",
    "        self.bias1 = np.zeros((1, hidden_size)) ## 偏置初始化\n",
    "        self.bias2 = np.zeros((1, output_size)) # 偏置初始化\n",
    "        self.learning_rate = learning_rate      # 学习率\n",
    "\n",
    "    def forward(self, x):   # 前向传播\n",
    "        self.hidden = np.dot(x, self.weights1) + self.bias1  # 隐藏层\n",
    "        self.hidden = np.maximum(0, self.hidden)    # ReLU激活函数\n",
    "        output = np.dot(self.hidden, self.weights2) + self.bias2    # 输出层\n",
    "        return output     # 输出\n",
    "\n",
    "    def compute_loss(self, y_true, y_pred): # 均方误差\n",
    "        return np.mean((y_true - y_pred) ** 2)  # 均方误差\n",
    "\n",
    "    def backward(self, x, y_true, y_pred):                  # 反向传播\n",
    "        output_error = y_pred - y_true                      # 输出层误差\n",
    "        output_delta = output_error / y_true.size           # 输出层误差的导数\n",
    "        hidden_error = output_delta.dot(self.weights2.T)    # 隐藏层误差\n",
    "        hidden_delta = hidden_error * (self.hidden > 0)     # 隐藏层误差的导数\n",
    "        self.weights2 -= self.hidden.T.dot(output_delta) * self.learning_rate            # 更新权重\n",
    "        self.bias2 -= np.sum(output_delta, axis=0, keepdims=True) * self.learning_rate   # 更新偏置\n",
    "        self.weights1 -= x.T.dot(hidden_delta) * self.learning_rate                      # 更新权重\n",
    "        self.bias1 -= np.sum(hidden_delta, axis=0, keepdims=True) * self.learning_rate   # 更新偏置\n",
    "\n",
    "# 训练函数\n",
    "def train_pidnn(pid_controller, nn, setpoints, measurements, epochs):   # PID控制器实例 神经网络实例 训练数据 训练轮数\n",
    "    for epoch in range(epochs):  # 训练轮数\n",
    "        total_loss = 0   # 总误差\n",
    "        for setpoint, measurement in zip(setpoints, measurements):       # 训练数据\n",
    "            #print(setpoint,measurement)\n",
    "            pid_output = pid_controller.update(setpoint, measurement)    # 更新PID控制器\n",
    "            pid_output = np.array([[pid_output]])    # 输入层输入\n",
    "            nn_output = nn.forward(pid_output)       # 前向传播\n",
    "            loss = nn.compute_loss(np.array([[setpoint]]), nn_output)    # 计算误差\n",
    "            total_loss += loss   # 累计误差\n",
    "            nn.backward(pid_output, np.array([[setpoint]]), nn_output)   # 反向传播\n",
    "        print(f'Epoch {epoch + 1}/{epochs}, Loss: {total_loss / len(setpoints):.4f}',pid_controller.Kp,pid_controller.Ki,pid_controller.Kd)\n",
    "\n",
    "# 参数设置\n",
    "Kp, Ki, Kd, dt = 5.0, 0.1, 0.01, 0.1    # PID参数 时间步长\n",
    "input_size = 1      # 输入层大小\n",
    "hidden_size = 10    # 隐藏层大小\n",
    "output_size = 1     # 输出层大小\n",
    "learning_rate = 0.01    # 学习率\n",
    "\n",
    "# 创建实例\n",
    "pid_controller = PIDController(Kp, Ki, Kd, dt)       # PID控制器实例\n",
    "nn = SimpleNN(input_size, hidden_size, output_size, learning_rate)  # 神经网络实例\n",
    "# 假设有一些训练数据\n",
    "#setpoints = np.array([10.0] * 100)\n",
    "#measurements = np.array([0.0] * 100)\n",
    "# 训练\n",
    "#train_pidnn(pid_controller, nn, setpoints, measurements, epochs=1000)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 假设有一些训练数据\n",
    "setpoints = np.array([10.0] * 100)      # 设定值\n",
    "measurements = np.array([0.0] * 100)    # 测量值\n",
    "# 训练\n",
    "train_pidnn(pid_controller, nn, setpoints, measurements, epochs=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 2/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 3/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 4/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 5/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 6/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 7/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 8/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 9/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 10/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 11/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 12/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 13/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 14/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 15/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 16/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 17/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 18/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 19/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 20/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 21/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 22/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 23/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 24/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 25/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 26/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 27/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 28/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 29/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 30/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 31/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 32/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 33/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 34/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 35/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 36/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 37/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 38/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 39/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 40/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 41/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 42/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 43/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 44/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 45/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 46/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 47/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 48/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 49/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 50/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 51/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 52/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 53/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 54/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 55/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 56/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 57/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 58/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 59/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 60/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 61/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 62/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 63/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 64/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 65/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 66/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 67/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 68/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 69/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 70/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 71/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 72/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 73/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 74/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 75/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 76/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 77/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 78/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 79/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 80/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 81/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 82/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 83/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 84/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 85/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 86/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 87/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 88/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 89/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 90/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 91/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 92/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 93/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 94/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 95/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 96/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 97/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 98/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 99/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 100/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 101/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 102/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 103/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 104/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 105/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 106/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 107/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 108/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 109/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 110/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 111/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 112/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 113/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 114/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 115/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 116/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 117/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 118/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 119/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 120/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 121/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 122/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 123/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 124/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 125/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 126/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 127/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 128/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 129/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 130/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 131/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 132/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 133/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 134/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 135/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 136/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 137/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 138/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 139/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 140/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 141/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 142/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 143/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 144/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 145/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 146/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 147/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 148/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 149/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 150/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 151/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 152/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 153/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 154/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 155/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 156/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 157/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 158/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 159/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 160/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 161/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 162/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 163/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 164/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 165/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 166/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 167/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 168/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 169/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 170/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 171/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 172/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 173/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 174/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 175/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 176/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 177/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 178/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 179/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 180/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 181/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 182/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 183/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 184/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 185/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 186/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 187/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 188/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 189/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 190/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 191/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 192/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 193/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 194/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 195/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 196/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 197/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 198/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 199/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 200/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 201/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 202/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 203/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 204/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 205/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 206/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 207/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 208/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 209/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 210/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 211/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 212/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 213/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 214/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 215/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 216/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 217/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 218/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 219/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 220/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 221/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 222/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 223/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 224/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 225/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 226/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 227/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 228/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 229/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 230/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 231/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 232/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 233/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 234/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 235/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 236/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 237/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 238/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 239/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 240/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 241/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 242/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 243/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 244/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 245/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 246/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 247/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 248/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 249/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 250/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 251/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 252/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 253/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 254/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 255/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 256/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 257/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 258/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 259/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 260/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 261/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 262/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 263/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 264/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 265/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 266/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 267/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 268/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 269/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 270/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 271/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 272/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 273/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 274/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 275/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 276/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 277/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 278/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 279/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 280/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 281/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 282/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 283/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 284/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 285/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 286/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 287/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 288/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 289/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 290/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 291/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 292/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 293/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 294/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 295/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 296/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 297/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 298/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 299/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 300/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 301/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 302/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 303/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 304/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 305/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 306/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 307/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 308/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 309/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 310/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 311/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 312/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 313/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 314/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 315/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 316/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 317/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 318/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 319/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 320/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 321/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 322/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 323/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 324/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 325/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 326/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 327/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 328/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 329/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 330/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 331/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 332/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 333/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 334/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 335/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 336/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 337/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 338/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 339/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 340/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 341/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 342/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 343/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 344/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 345/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 346/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 347/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 348/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 349/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 350/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 351/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 352/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 353/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 354/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 355/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 356/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 357/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 358/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 359/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 360/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 361/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 362/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 363/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 364/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 365/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 366/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 367/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 368/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 369/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 370/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 371/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 372/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 373/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 374/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 375/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 376/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 377/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 378/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 379/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 380/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 381/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 382/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 383/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 384/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 385/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 386/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 387/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 388/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 389/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 390/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 391/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 392/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 393/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 394/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 395/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 396/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 397/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 398/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 399/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 400/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 401/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 402/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 403/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 404/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 405/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 406/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 407/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 408/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 409/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 410/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 411/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 412/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 413/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 414/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 415/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 416/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 417/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 418/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 419/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 420/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 421/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 422/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 423/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 424/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 425/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 426/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 427/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 428/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 429/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 430/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 431/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 432/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 433/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 434/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 435/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 436/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 437/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 438/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 439/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 440/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 441/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 442/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 443/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 444/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 445/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 446/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 447/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 448/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 449/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 450/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 451/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 452/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 453/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 454/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 455/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 456/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 457/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 458/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 459/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 460/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 461/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 462/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 463/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 464/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 465/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 466/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 467/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 468/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 469/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 470/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 471/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 472/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 473/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 474/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 475/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 476/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 477/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 478/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 479/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 480/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 481/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 482/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 483/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 484/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 485/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 486/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 487/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 488/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 489/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 490/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 491/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 492/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 493/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 494/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 495/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 496/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 497/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 498/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 499/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 500/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 501/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 502/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 503/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 504/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 505/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 506/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 507/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 508/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 509/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 510/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 511/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 512/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 513/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 514/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 515/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 516/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 517/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 518/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 519/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 520/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 521/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 522/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 523/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 524/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 525/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 526/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 527/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 528/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 529/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 530/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 531/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 532/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 533/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 534/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 535/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 536/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 537/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 538/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 539/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 540/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 541/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 542/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 543/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 544/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 545/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 546/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 547/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 548/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 549/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 550/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 551/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 552/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 553/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 554/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 555/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 556/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 557/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 558/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 559/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 560/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 561/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 562/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 563/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 564/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 565/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 566/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 567/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 568/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 569/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 570/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 571/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 572/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 573/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 574/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 575/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 576/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 577/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 578/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 579/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 580/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 581/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 582/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 583/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 584/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 585/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 586/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 587/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 588/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 589/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 590/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 591/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 592/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 593/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 594/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 595/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 596/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 597/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 598/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 599/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 600/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 601/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 602/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 603/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 604/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 605/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 606/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 607/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 608/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 609/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 610/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 611/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 612/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 613/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 614/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 615/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 616/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 617/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 618/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 619/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 620/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 621/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 622/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 623/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 624/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 625/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 626/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 627/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 628/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 629/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 630/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 631/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 632/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 633/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 634/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 635/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 636/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 637/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 638/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 639/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 640/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 641/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 642/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 643/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 644/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 645/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 646/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 647/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 648/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 649/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 650/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 651/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 652/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 653/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 654/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 655/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 656/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 657/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 658/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 659/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 660/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 661/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 662/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 663/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 664/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 665/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 666/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 667/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 668/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 669/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 670/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 671/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 672/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 673/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 674/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 675/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 676/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 677/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 678/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 679/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 680/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 681/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 682/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 683/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 684/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 685/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 686/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 687/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 688/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 689/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 690/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 691/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 692/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 693/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 694/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 695/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 696/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 697/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 698/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 699/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 700/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 701/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 702/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 703/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 704/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 705/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 706/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 707/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 708/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 709/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 710/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 711/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 712/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 713/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 714/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 715/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 716/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 717/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 718/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 719/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 720/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 721/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 722/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 723/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 724/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 725/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 726/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 727/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 728/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 729/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 730/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 731/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 732/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 733/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 734/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 735/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 736/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 737/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 738/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 739/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 740/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 741/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 742/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 743/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 744/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 745/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 746/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 747/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 748/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 749/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 750/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 751/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 752/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 753/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 754/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 755/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 756/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 757/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 758/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 759/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 760/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 761/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 762/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 763/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 764/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 765/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 766/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 767/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 768/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 769/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 770/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 771/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 772/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 773/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 774/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 775/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 776/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 777/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 778/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 779/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 780/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 781/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 782/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 783/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 784/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 785/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 786/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 787/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 788/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 789/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 790/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 791/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 792/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 793/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 794/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 795/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 796/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 797/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 798/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 799/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 800/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 801/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 802/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 803/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 804/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 805/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 806/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 807/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 808/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 809/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 810/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 811/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 812/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 813/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 814/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 815/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 816/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 817/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 818/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 819/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 820/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 821/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 822/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 823/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 824/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 825/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 826/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 827/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 828/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 829/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 830/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 831/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 832/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 833/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 834/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 835/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 836/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 837/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 838/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 839/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 840/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 841/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 842/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 843/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 844/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 845/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 846/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 847/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 848/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 849/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 850/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 851/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 852/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 853/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 854/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 855/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 856/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 857/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 858/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 859/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 860/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 861/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 862/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 863/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 864/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 865/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 866/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 867/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 868/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 869/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 870/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 871/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 872/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 873/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 874/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 875/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 876/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 877/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 878/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 879/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 880/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 881/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 882/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 883/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 884/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 885/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 886/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 887/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 888/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 889/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 890/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 891/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 892/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 893/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 894/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 895/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 896/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 897/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 898/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 899/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 900/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 901/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 902/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 903/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 904/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 905/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 906/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 907/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 908/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 909/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 910/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 911/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 912/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 913/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 914/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 915/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 916/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 917/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 918/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 919/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 920/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 921/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 922/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 923/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 924/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 925/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 926/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 927/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 928/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 929/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 930/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 931/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 932/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 933/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 934/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 935/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 936/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 937/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 938/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 939/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 940/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 941/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 942/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 943/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 944/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 945/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 946/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 947/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 948/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 949/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 950/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 951/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 952/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 953/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 954/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 955/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 956/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 957/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 958/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 959/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 960/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 961/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 962/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 963/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 964/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 965/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 966/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 967/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 968/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 969/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 970/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 971/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 972/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 973/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 974/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 975/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 976/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 977/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 978/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 979/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 980/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 981/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 982/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 983/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 984/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 985/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 986/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 987/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 988/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 989/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 990/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 991/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 992/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 993/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 994/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 995/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 996/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 997/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 998/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 999/1000, Loss: 0.4391 5.0 0.1 0.01\n",
      "Epoch 1000/1000, Loss: 0.4391 5.0 0.1 0.01\n"
     ]
    }
   ],
   "source": [
    "time = np.arange(0, 10, 0.1)  # 时间从0到10，每隔0.1秒\n",
    "measurements = np.sin(time)   # 假设实际目标为正弦波\n",
    "measurements2 = np.full(len(time), 0.0001)  # 生成\n",
    "train_pidnn(pid_controller, nn, measurements, measurements2, epochs=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0 100\n",
      "[[[[0.18563143]]]]\n",
      "0.09983341664682815 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.19866933079506122 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.2955202066613396 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.3894183423086505 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.479425538604203 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.5646424733950355 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.6442176872376911 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.7173560908995228 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.7833269096274834 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8414709848078965 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8912073600614354 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9320390859672264 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.963558185417193 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9854497299884603 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9974949866040544 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9995736030415051 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9916648104524686 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9738476308781951 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9463000876874145 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9092974268256817 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8632093666488737 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8084964038195901 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.74570521217672 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.6754631805511506 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.5984721441039564 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.5155013718214642 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.4273798802338298 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.33498815015590466 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.23924932921398198 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.1411200080598672 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.04158066243329049 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.058374143427580086 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.15774569414324865 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.25554110202683167 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.35078322768961984 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.44252044329485246 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.5298361409084934 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.6118578909427193 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.6877661591839741 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.7568024953079282 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.8182771110644108 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.8715757724135882 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9161659367494549 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9516020738895161 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.977530117665097 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9936910036334645 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9999232575641008 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9961646088358406 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9824526126243325 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9589242746631385 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.9258146823277321 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.8834546557201531 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.8322674422239008 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.7727644875559871 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.7055403255703919 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.6312666378723208 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.5506855425976376 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.4646021794137566 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.373876664830236 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.27941549819892586 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.18216250427209502 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.0830894028174964 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.0168139004843506 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.11654920485049364 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.21511998808781552 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.3115413635133787 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.4048499206165983 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.49411335113860894 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.5784397643882001 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.6569865987187891 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.7289690401258765 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.7936678638491531 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8504366206285648 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8987080958116269 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9379999767747389 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9679196720314865 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9881682338770004 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.998543345374605 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.998941341839772 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9893582466233818 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9698898108450863 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9407305566797726 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.9021718337562933 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.8545989080882805 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.7984871126234903 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.7343970978741133 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.662969230082182 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.5849171928917617 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.5010208564578846 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.4121184852417566 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.3190983623493521 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.22288991410024592 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.1244544235070617 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "0.024775425453357765 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.0751511204618093 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.1743267812229814 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.2717606264109442 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.3664791292519284 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n",
      "-0.45753589377532133 0.1856314290269299\n",
      "[[[[0.18563143]]]]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAAIhCAYAAABXMMsoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACxU0lEQVR4nOzdd3hT5fvH8XeaTkZp2UNABERBi7JBBEFAENkb1KKioj8UF4oDFRVwAgKKKMhQZO8NggtkyBDZIoKyZ6GUrrQ9vz/ONym1g7a0PUn6eV1XrpwkJ8mdcsjJfc793I/NMAwDERERERERyTE+VgcgIiIiIiLibZRoiYiIiIiI5DAlWiIiIiIiIjlMiZaIiIiIiEgOU6IlIiIiIiKSw5RoiYiIiIiI5DAlWiIiIiIiIjlMiZaIiIiIiEgOU6IlIiKSB5KSkti5c6fVYeSIK1eucPjwYavDEBFxa0q0RETchGEYvPHGG/z6669pPr5w4ULq1q2b4WskJiZm+70TEhKyfElKSkr1WmnF/8MPP1CvXj0OHDiQrdiuXLlCQkJCqscSEhK4cuVKivvi4+Oz9Prbtm3j1KlTqe5fuXIlw4YNS/N9s2P8+PHceeed/PXXX9dc95dffmHu3LkpLocPHyYqKorY2NhU6yckJHDp0qVMx3L69GkWLFjAhQsXsvQZnNq3b8/jjz+ereemp1+/fjz55JOZXv/y5cuMHj2av//+O0fjEBHJKUq0RETchM1mY//+/fTv3z/NhCkhIYGzZ89m+BqPP/44b7zxhuv277//zv79+/nrr79SXI4cOZLieevWrcPPzy/Ll+HDh6d4nbNnz3L33XczYcKEFPevWrWK+Ph4br755nRjnzFjBqVKlaJ8+fLceOONrsuvv/5KoUKF8PPzw2azpbj4+flRrlw512vMmTOHGjVqsG3bNtfnWrlyZYrL3r17U7xvp06dWLx4cap41q1bx6RJk/D19c3wb55ZvXr1wm6389VXX11z3WHDhtG/f3/ef/99Xn/9dbp168bFixf5+OOPCQoKSvPv0KdPn0zH8uOPP9KlSxciIiKy9Vm6dOnCDz/8wPHjx133JSQkEB0dneVE1+ny5ctpbt9PPfUU9erVS3V/ZGQkzz//PH/++We23k9EJLflzN5DRERyxIcffkiLFi04duwYFStW5PLly66kKzY2FpvNxsWLF13rFypUyJUInDlzhhkzZvDdd9+5Hq9bty5BQUH4+/u77jt//jxPP/00n332meu+kJAQADZu3MgNN9yQqVhr1apFkSJFUty3YMECSpQowcMPP+y6LyEhge+++46jR4/i45Py+F7//v0ZP348AK1bt2bdunUEBASQlJREx44dqV69OrVr1+by5csEBARw8OBBatSowblz5yhWrBgJCQnExcW5Xu/ee+/l5ptvpnHjxvz88888/PDDBAcHExwcDMChQ4d4+OGHGT58OBcvXqRUqVL4+/un+Ps4nTp1igoVKrB///4M/w6JiYn4+vpSrVo1131Vq1ZN98zVhx9+yIcffpjq/unTp9O7d28A/P39eeCBB5gyZQqjRo3io48+4s4776Ry5coMGDAgVfL33zOLDoeDTz75JMV9L7zwgutz7tixg7CwMCpXrpzhZzty5AiVKlVK9/G0tpURI0YwePBgACZMmMDFixex2+0p1unXr59rm3MKCgpK8wBDYGAggYGBqe738/MDICAgIMPPICJiFSVaIiJu4I8//qBgwYLY7XaWLVuGYRjEx8dTt27dVOV2oaGhruWlS5fStm1bwDwL0rJlSzp16kR0dDRBQUE4HI4Uzx0zZgwjRozgnXfeSXG/8wd46dKlU/x4/uSTT7j55ptp164dYJbxvffeewwcOBAfHx/Xj12nL7/8kpdeegmbzcaECRN48sknmT59OkePHuWJJ57ggw8+AGDWrFk888wzrh/kzs8VERHB559/TmxsLGXKlGHmzJkpkoqDBw9yww03UKxYMQB8fX1TPF60aFGWLl3K9OnTqVOnDgEBAXz++efcc889APTt2xc/Pz9+/PFHunbtyuXLl9P9Nzl+/DhbtmyhcePG6a4DEBMTQ506dfjpp59c9wUFBdG/f39GjBiRav3ExMQUiceJEyeoUaNGimTi6sRv2bJlrn9jZ8J4LUlJSbz66qv079+fQoUK8fHHH/Pss88SFBQEmGdPgRR/O8MwCA0N5dy5c6leb+/evZQpUybD93Q4HMTHx1O4cGHXff/++y8nTpxwfd4zZ86wfPlyHn/8ceLj49NMcBMSEnA4HK5Y7XZ7qgQdkv9GV2+D8fHxPPfccwwePJgKFSpkGK+ISK4zRETEcna73ShUqJBRpEgRIzAw0ChWrJhx5coV4/bbbzfGjh1rnD171pg2bZpRqVIl4+zZs8bZs2cNu91urF692jAMw9i/f79RrFgx48iRI4ZhGMZTTz1ldOrUKcV7LF++3ChQoIDxww8/pHr/Xbt2GYAxZ84co3LlysaZM2cMwzCMsmXLGq+99ppx7NixFOutXLnSKFWqlDF+/HjXa6xZs8YoXry4ERUVZcydO9ew2WzG1q1bjcqVKxvNmjUzihQpYkRGRhoJCQlGtWrVjAEDBqSK4/z580aLFi0Mm81m7Nmzx3X/Cy+8YBQrVswoWLCg4evraxQrVsx1mT9/vmu92NjYFK9XuXJl44cffjB69+5tjBkzxggPDzdeeeUVY926dUaxYsVc60yePDlVLDfeeKMxatSo9P7JMlS1alVj4MCBhmEYxttvv238888/rsdef/11IywszIiLizMMwzBOnDhhFCtWzJg7d65rnS5duhjh4eHGpUuXDD8/P2Px4sVGbGysER8fn+57xsXFGTExMYZhGEZSUpIBGIcPHzZiYmIMwHA4HEZAQICxZMmSNJ8/duxYo0yZMinuO3z4sAEYJ06cSHH/qVOnUj0/MTExg7+I6dtvvzVuueUWY+DAgQaQ7qVmzZqu57z44otG06ZNU71WRESEARi//PKLYRiGsXv3bqNWrVqGzWYzhg0bds1YRERym8ZoiYi4gYSEBC5fvszFixdp3Lgxb7zxBgUKFMBut1OoUCGKFy9O4cKF8fHxoXjx4hQvXhwwj/ZHRUXRu3dv3nrrLSpUqMD27dv56quvUpTvzZs3jy5duuDn58e+ffswDCPNOGrVqkXx4sV57733OHjwICdOnKBevXpUrFiR3377jR9++IEKFSrQqlWrFM9zliM+//zzFCxYkM8//5w+ffowbdo0AgMDWb58OaVKleKtt97i448/JioqKtVZNYfDQUhICMuXL+eZZ55JcdbH4XDQtm1bLl68yO7du10NLAoVKuRaxzAMmjRpwssvv5yqBO3UqVOcPn3addt5Ric9DoeDo0ePZlg2l5GtW7cyYsQILly4wLp166hRowajR48mKSkJm83GuXPnXGdkypQpw7lz5+jSpUuq11mxYgV+fn60aNGC//u//8Pf3z/V+CznJSAggJ49e7o+33/L9Xx9fV3vGR8fz8WLF10X55nPtM4wASleKyoqiptvvpn169enWKdly5a8++67Ke7bsmUL48aNc93+/fffqVevHoMH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GVOmTDHi4uJSrL9t2zbDbrcbERERrsvOnTsNwIiIiEixbuPGjY3y5csbn332mWEYhpGUlGQ88cQThr+/v/Hqq68aiYmJrnUdDofRt29fo1y5csalS5eMo0ePGhUqVDCmTZtmGIZhbNq0yQgICDBefvll13MmTZpkBAUFGSdOnDC2bt1q9OrVy/Dx8THmz59/zc999Ws89dRTRocOHQybzWZ88cUXKR6PjIw0HnvsMaNatWoGYJQrV8748MMPjejo6FSv9dNPPxk333yzYbfbjXHjxrnub9mypREeHp7m+x89etQoXry40bx5c2PTpk2ZjtswDMPHx8dYsmRJivvi4uKMunXrGo0bNzZmzZrlur9t27ZG5cqVjaSkJKNIkSJGwYIFjeDg4DS3J+clMDDQ6Natm2EYhhEVFWWMHj3aSEpKyjCmt956ywAMm82WYntymjx5svHmm28aMTExqR578sknDX9/fwNwXW644YYs/11ERHKDzTCus6+qiIjkmEcffZRq1aqlap4A8O233/LSSy9x6tSpHH/fdevWce+993L48OEUrePT8u677/LNN9/QqFEjRo4cmWqM1H/9+uuvNGnSJM0xWidPnsywVbtz3QsXLlCrVq00H9+7d6+rrfjFixcJCgoiICCAHTt28Pnnn/P555+7zsQYhsGuXbsICwvj0qVLtGvXjjZt2jBo0KBMlzGuXLmSgQMHUrVqVR544AGefPLJVGfrZs2axYYNG+jUqRNNmzZNMVbrv2JjY/noo494/PHHr/m3yEsLFy7kwoULPProo7n6PseOHePnn3/m7rvvzvREziIinkCJloiI5Kq4uDhOnTqVpbmjREREPJ0SLRERERERkRymCYtFRERERERymBItERERERGRHKZES0REREREJIcp0RIREREREclhmrA4E5KSkjhx4gSFCxfO1ISbIiIiIiLinQzD4PLly5QtWzbD6TuUaGXCiRMnNLeHiIiIiIi4HD16lBtuuCHdx5VoZULhwoUB848ZHBxsaSwOh4PVq1fTqlUr1wScItei7UayS9uOZIe2G8kObTeSXXm97URGRlK+fHlXjpAeJVqZ4CwXDA4OdotEq0CBAgQHB+tLSDJN241kl7YdyQ5tN5Id2m4ku6zadq41pEjNMERERERERHKYEi0REREREZEcptJBERERERELJCYm4nA4rA7D4zkcDnx9fYmNjSUxMfG6X8/Pzw+73X7dr6NES0REREQkDxmGwalTp7h48aLVoXgFwzAoXbo0R48ezbGpmEJCQihduvR1vZ4SLRERERGRPORMskqWLEmBAgU0T+t1SkpKIioqikKFCmU4r1VmGIZBdHQ0Z86cAaBMmTLZfi0lWiIiIiIieSQxMdGVZBUrVszqcLxCUlIS8fHxBAYGXneiBRAUFATAmTNnKFmyZLbLCNUMQ0REREQkjzjHZBUoUMDiSCQjzn+f6xlDp0RLRERERCSPqVzQveXEv48SLRERERERkRymREtERERERLLlypUrhIeH888//+TZe7733nuMGzcuS8954403WLx4cS5FlDYlWiIiIiIiki0FCxbkjz/+YOLEiWk+bhgGNpuNokWLUqxYMWw2G1u3bqVDhw7ceOONKS5ly5bl119/BSA+Pp6tW7e6LpcuXXK95tKlSylevHiW4rx06RKff/559j9oNqjroIiIiIiIZMo777zD119/neK+8+fP8/HHH/PNN9+kuP/111/n8ccfx8/Pj+3bt3Py5Ek6dOhA7dq1mTlzJv7+/ik6+sXGxuLn5weYHf/uvfdeunXrxs8//8yYMWMYPXo0x44d48CBA7zxxhu89957ruf27duXF154AYANGzbQuXNnV/dAgLi4OK5cucKNN97ouh0VFcWiRYto3rx5jv6NnJRoiYiIiIhIpkRFRdGiRYtUZ7COHz9OgQIFCA0NBaBx48bExMQA4O/vD8CaNWto1aoVNpstRRLkFBgY6FoOCAigRIkSTJw4kb59++Ln58fff//Nd999R506dVI8Lzw8PMUZL4fDQeXKlV1nx6zitqWD586do1KlShw5ciRT6//000/ceuutFC9enJEjR6Z4bO7cuVSsWJGyZcsyY8aMXIhWRERERMT7hYWF0bBhQ/bt28fdd9/Nvn37AJg1axbNmjVzrffggw9yxx13pHjuqlWruO+++4iNjSUxMTHVayclJREdHQ3gOrPlZLfbU913NWcy53R118CEhAQ++ugjDMNw3ffrr7+6JiXOLW55RuvcuXM88MADmU6yzp49S/v27XnxxRfp1asXPXv25M4776RZs2bs3r2bPn368Nlnn1G/fn06d+5MrVq1qFatWu5+CBERERGRTDAM+F9+kecKFICsdDJ/8MEHSUxMxDAM2rVrR/36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3+o4rjZhgg9gp337JEJDE9XIwA2543aTnocftrFqlS+TJxu89loCdrvVEeVvnrTtiPvID9vNpEk+xMfbqVUribAw7ftyQn7YbtLz6KMwfrwfCxYYHD2aQOnSVkfkWfJ628ns+7hlohUZGUmlSpVct202G3a7nYiICEJDQ9N8zoEDB2jcuDFvv/02Fy9epE+fPowaNYrBgwener3g4GBOnDiR7vuPGDGCoUOHprp/9erVruTPamvWrLE6BADi4uxMnXofYCcsbBPLl5+1OiTJgLtsNxnx9/ehcOH7OHbMn/ff/40779Q25Q48YdsR9+Ot241hwJgx9wKFaNDgD5Yv/8fqkLyKt24313LzzXfz559FGTLkTzp1+svqcDxSXm070dHRmVrPLRMtX19fAgICUtwXGBhIdHR0uonWF198keL2m2++yZgxYxg8eHCq13O+VnpeffVVXnjhBdftyMhIypcvT6tWrQi2uAjb4XCwZs0aWrZsiZ+fn6WxAEybZiM62pebbjJ45ZW6+LhlMaq423ZzLeHhPowbB7t3N+D11xOtDidf87RtR9yDt283P/1k48QJXwoVMnj33RoULlzD6pC8grdvN9dy8qSNp56CTZuq8+WXN2vMexbk9bbjrHa7FrdMtIoWLcru3btT3Hf58mX8/f0z/RolS5bk+PHjrtc7ezb5qPi1XisgICBVogfg5+fnNv/x3SWWr782r/v1sxEQYH08kjF32W6upV8/GDcOFi/24dIlH83L5gY8ZdsR9+Kt241zmHevXjaKFvW+z2c1b91urqV3b3jhBThwwMb27X40aGB1RJ4nr7adzL6HW55/qFu3Lhs3bnTdPnz4MHFxcRQtWjTd5zRs2JCjR4+6bm/cuJGKFSum+Xo7duygXLlyuRB5/rJ7N/z6K/j6wiOPWB2NeJOaNc15RRyO5PnZRETcQWSkObksaN8nOSs4GLp2NZedB7LFs7llotWkSRMiIyOZPHkyAMOHD6dFixbY7XYuXrxIYmLqUqIaNWrw5JNPsnnzZqZOnconn3zCU089BUCXLl2YOXMmu3btIioqijFjxnDffffl6WfyRhMnmtft26NBm5LjHn3UvJ40yRwPISLiDmbPhuhoqFYNnXGQHOfc982caW5n4tncMtHy9fVl4sSJDBgwgOLFi7No0SI++OADAEJDQ9m1a1eq53z88ccEBATQrFkz3nrrLT766CPCw8MBqFmzJgMHDqROnTqUK1cOu93O008/naefydvExyefaXjsMWtjEe/UqxcEBMCuXbBtm9XRiIiY/ncMmEce0byRkvOaNIFKleDy5eTpA8RzueUYLYD27dtz6NAhtm3bRoMGDShWrBgARjqHtkNCQliwYEG6rzds2DD69OnD8ePHadq0aZbGe0lqy5aZc4iUKZM875FITgoNhS5d4LvvzBKKOnWsjkhE8rsDB8ySeR8feOghq6MRb+TjYybxb75pJvXazjybW57RcipdujRt27Z1JVnXq3r16rRs2VJJVg5wTib78MPmGC2R3OAsofjuO4iJsTYWERHnvq9NGyhb1tJQxIuFh5tnS3/4Af7+2+po5Hq4daIl7un0afOMFphfBiK5pVkzuPFGuHQJ5s+3OhoRyc8SE2HaNHNZTTAkN1WoAC1amMtTp1obi1wfJVqSZdOnmzuc+vXh1lutjka8mbOEAtSBSUSstXo1nDgBxYpBu3ZWRyPezrnvmzzZ/M0lnkmJlmSJYaQcCCyS2/r2NUso1q1TCYWIWMe57+vTBzQCQXJbx44QEgJHj5r7P/FMSrQkS7ZvN+fPCgiAHj2sjkbygwoVoGVLc9k5PkJEJC+dPw+LFpnLOsgoeSEoyOy+C8lJvngeJVqSJc4fup06mUdaRPKCsymGSihExArffWdOa3LHHeZFJC84933z50NEhLWxSPYo0ZJMi4szdzagI3qStzp2hKJF4dgx+P57q6MRkfxGJfNihdq14bbbzN9fM2daHY1khxItybQlS+DCBShXDu691+poJD8JCDDHRQBMmmRtLCKSv+zcCTt2mOOynN9DInnBZks+q6WGUJ5JiZZk2tVzZ9ntloYi+ZBzZ7NwoTleQkQkLzjPZrVvb3YcFMlLDz5ozle6dSvs2mV1NJJVSrQkU06ehBUrzOW+fS0NRfIp59gIhwNmz7Y6GhHJD+LjzSlNQGWDYo0SJZKnE1BTDM+jREsy5dtvISkJGjWCm2+2OhrJrx5+2Lx2ThoqIpKbli6Fc+egTBlo1crqaCS/clZ0fPutmfyL51CiJdd09dxZOpslVurVyyxb3bQJ/vzT6mhExNs5x8U8/LBZviVihdatoXRpOHsWli2zOhrJCiVack2//Qb79plzOnTvbnU0kp+VLg333Wcuf/ONtbGIiHe7umReZYNiJV9feOghc1n7Ps+iREuuydkEo3NnKFLE0lBEUuxskpKsjUVEvNf06eZ3TMOGUK2a1dFIfufc9y1dqoZQnkSJlmQoNhZmzDCXVTYo7qBDBwgOhn/+gfXrrY5GRLyV88xBeLi1cYgA3H471KyphlCeRomWZGjRIrh4EcqXh+bNrY5GxCxh7dbNXFZTDBHJDX/8YV78/VUyL+5D5YOeR4mWZMhZNhgeDj7aWsRNOLsPzp4NMTHWxiIi3sf5Q/aBByA01NpYRJx69zZ/i23cCH/9ZXU0khn66SzpOn0aVq82l50/bEXcQePGcOONcPmyedZVRCSnJCbCd9+Zy84zCCLuoEwZaNnSXNZZLc+gREvSNWOGORC4fn2oWtXqaESS+fgk/wBS+aCI5KR16+DECfNMVps2VkcjkpJz3/ftt+b0O+LelGhJur791rx+8EFr4xBJi3Nns2oVnDplbSwi4j2cZwp69ICAAGtjEfmvjh2hYEH4+2/49Vero5FrUaIladq3D7ZtM+du6NHD6mhEUqtaFRo0MM+6Ost8RESux5UrMH++uayyQXFHBQtC167mssoH3Z8SLUmT82xW69ZQooS1sYikxzl2UDsbEckJCxaYyVblyub8WSLuyHkQYNYsiIuzNhbJmBItSSUpyZyoEVQ2KO6tRw/w84PffzdbMYuIXA/nQZsHHwSbzdpYRNJzzz1Qrpw5/c7SpVZHIxlRoiWpbNhgTgZbuDC0b291NCLpK1oU2rUzl3VWS0Sux8mT8P335rIOMoo7s9uTt1Ht+9ybEi1JxfmftmtXc3JYEXfmLB/89ltISLA2FhHxXN99Z1Z0NGwIVapYHY1Ixpzlg8uXw/nz1sYi6VOiJSnExpqTwIKO6IlnaNMGihUzOw+uXWt1NCLiqZwHGdUEQzxBjRpw553gcJhjtcQ9KdGSFJYvh0uX4IYbzBpgEXfn7w+9epnLmlNLRLJj1y7YudMc89m9u9XRiGSO5pN0f0q0JAVnt8Hevc1JYUU8gbN8cMECiIy0NhYR8TzOfV/btuYZchFP0KuXOV5r82b480+ro5G06Ke0uFy4kNy9RqUT4knq1IFq1SAmBhYutDoaEfEkiYnJnXa17xNPUro0tGplLjsPFoh7UaIlLnPmmLW+NWvCbbdZHY1I5tls0KePuez8wSQikhk//gjHj0NoqHlGS8STOA8OfPstGIa1sUhqSrTExXk0RE0wxBM5x2l9/73ZGENEJDOcTTC6d4eAAGtjEcmqDh3M6XgOHzan5xH3okRLAPM/6Pr15pmB3r2tjkYk66pUgfr1zfbMzs6ZIiIZiY6GefPMZZUNiicqUMCcjgc0p5Y7UqIlQHK51b33Qtmy1sYikl3OgwQqHxSRzFi4EKKi4KaboFEjq6MRyR5n6fzcuRAfb20skpISLcEwVDYo3qFHD7MD05Yt8NdfVkcjIu7uu+/M6z59zIoOEU90zz1mY4wLF2DVKqujkasp0RK2boUDByAoCDp3tjoakewrVQpatDCXnT+gRETScu5c8o9SlcyLJ7PboWdPc1n7PveiREtcZ7M6djQHVIp4sqvLB9WBSUTSM3cuJCRArVpwyy1WRyNyfZzlg4sWmeWw4h6UaOVzCQkwc6a5rLJB8QadOkFgoDl54/btVkcjIu7KeeRfZ7PEG9SuDVWrmvNJLlpkdTTipEQrn1u3Ds6cgeLFoWVLq6MRuX6FC0P79uaymmKISFr+/Rd++cUcl9Wjh9XRiFy/q7tGq3zQfSjRyudmzDCvu3UDPz9rYxHJKc4SipkzITHR2lhExP04KzmaNoUbbrA2FpGc4pxPctUqOHvW2ljEpEQrH4uJSZ4/RKUT4k1at4bQUDh5En780epoRMTdqGxQvFG1amYJYWIizJljdTQCSrTyteXL4fJlKF9e84eId/H3N8/SgsoHRSSlPXtg506ziqNLF6ujEclZKh90L0q08jFn2WCvXuCjLUG8jLN8cN48iI21NhYRcR/OfV+bNlC0qLWxiOS0Hj3M8VobNsCRI1ZHI27783r37t3UrVuX0NBQBg0ahJGJPs1Dhw6laNGiBAQE0KlTJy5fvux6LCwsDJvN5rr069cvN8N3e5cuwdKl5rKzplfEmzRubJ6tjYyEZcusjkZE3IFhqGxQvFu5cuYExpA8FlGs45aJVlxcHO3ataN27dps3bqVvXv3MmXKlAyfM336dKZPn87KlSvZs2cP+/bt4/333wcgOjqaQ4cOcebMGSIiIoiIiGDs2LF58Enc18KFEBcHt94KNWtaHY1IzvPxST6IoPJBEQHYvBkOH4aCBaFdO6ujEckdzooOlQ9azy0TrRUrVnDp0iVGjhxJ5cqVGT58OJMmTcrwOUePHmXq1KnUq1ePKlWq0KNHD3bs2AHAjh07CAsLo0SJEoSEhBASEkJQUFBefBS3dfURPZvN2lhEcovziPWyZXDxoqWhiIgbcO77OnWCAgWsjUUkt3TubI5V3rXLvIh1fK0OIC07d+6kQYMGFPjft2BYWBh79+7N8DmDBw9OcfvAgQNUrVoVgC1btnDs2DFKlCiBw+GgV69ejB49moCAgDRfKy4ujri4ONftyMhIABwOBw6HI9ufKyc43/964jh9Gtau9QVsdOniwOKPJHkgJ7YbT3TrrVC9ui9799qYPTuBRx65dgmypJRftx25Pu643SQkwKxZ5r6vW7cEHA59H7gbd9xuPFGhQtC6tZ3Fi3345ptEhg1LsjqkXJfX205m38ctE63IyEgqVarkum2z2bDb7URERBAaGnrN5//5558sWLCA7du3A2bS1bhxY95++20uXrxInz59GDVqVKrkzGnEiBEMHTo01f2rV692JX9WW7NmTbafu2xZJRITw6haNYI///yZP//MwcDErV3PduOpatWqyt691Rk3LoJSpX61OhyPlR+3Hbl+7rTd7NhRgjNnGlG4cBwOxyqWL1ei5a7cabvxVNWqlQXqMmVKHA0brsk3Tc/yatuJjo7O1Ho2IzNdJvLYK6+8gsPhYOTIka77ypcvz6ZNmyhXrlyGz01KSqJJkybUrFmTzz77LM11pk2bxpgxY9i6dWuaj6d1Rqt8+fKcO3eO4ODgbHyinONwOFizZg0tW7bEL5szDDdpYmfTJh8+/jiRZ5/1/qMckjPbjac6cgRuvtkPm83g778TuMZXiPxHft52JPvccbt57DE733zjw5NPJjJ2rPZ97sgdtxtPFRMD5cr5EhVl48cfE2jUyO1+7ueovN52IiMjKV68OJcuXcowN3DLM1pFixZl9+7dKe67fPky/v7+13zuu+++y4ULF/joo4/SXadkyZIcP3483ccDAgLSLCv08/Nzm//42Y3l8GHYtMkcl9W7tx0/P3suRCfuyp224bxStSrcdRds2GBjwQI/nn/e6og8U37cduT6uct2ExNjNoECePBB7fvcnbtsN57Mz88cqzVtGsye7UvTplZHlDfyatvJ7Hu45YnEunXrsnHjRtftw4cPExcXR9FrTHixZMkSRo4cybx581KU+DVs2JCjR4+6bm/cuJGKFSvmfOAewNnqs1kzKFPG2lhE8krPnua1c/4cEclfli2D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",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 训练神经网络后的预测\n",
    "prediction = 100   # 初始预测值\n",
    "mubiao =[]        # 目标值\n",
    "shiji = []        # 实际响应值\n",
    "for measurement in measurements:       # 训练数据\n",
    "    print(measurement,prediction)     # 打印当前预测值\n",
    "    prediction = pid_controller.update(measurement, prediction)\n",
    "    prediction = nn.forward(np.array([[prediction]]))\n",
    "    print(prediction)\n",
    "    prediction = prediction[0][0][0][0]\n",
    "    mubiao.append(measurement)\n",
    "    shiji.append(prediction)\n",
    "\n",
    "# 绘制结果\n",
    "plt.figure(figsize=(10, 6))  # 设置图形大小\n",
    "plt.plot(time, mubiao, label='目标值', color='blue')\n",
    "plt.plot(time, shiji, label='实际响应值', linestyle='dashed', color='green')\n",
    "\n",
    "# 添加标题和标签\n",
    "plt.title('神经网络预测与实际响应对比')\n",
    "plt.xlabel('时间 (s)')\n",
    "plt.ylabel('响应值')\n",
    "\n",
    "# 添加图例\n",
    "plt.legend()\n",
    "\n",
    "# 显示图形\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
